Echo suppressor with adaptive digital filter for transmission system

ABSTRACT

An adaptive echo suppressor is provided at each local station in a data transmission system for transmission of local data from a local station to a remote station over a transmission medium exhibiting an echo and simultaneous transmission of far end data over said medium from said remote station. The echo suppressor comprises an adaptive echo suppressor located at said local station and comprising: an adaptive digital filter connected to receive the local data a x  and a clean signal e k  substantially free of echo and arranged to deliver on an output an estimation o k  of the echo of the local data by multiplying a vector of coefficients C k  with the local data a k , said vector having an adaptation algorithm: 
     
         C.sub.k+1 =C.sub.k +μa.sub.k *·f(e.sub.k) 
    
     wherein μ is a predetermined incrementation step, a k  * is a conjugated value of the local data a k , and f is a predetermined function of e k  and substractor means having an input connected to receive said far end data signal from said transmission medium, said far end data signal including said far end data and the echo of the local data and a subtractive input connected to receive said estimation o k  from said digital filter. The digital filter is rendered only responsive to that vectorial component of e k  which is orthogonal to the remote data signal.

This application is a continuation of application Ser. No. 703,228 filed Jan. 28, 1985, now abandoned.

BACKGROUND OF THE INVENTION

1. Technical Field

The invention covers simultaneous bidirectional (duplex) data transmission field, and especially QAM or phase modulation, over a same media. The specific subject is an echo suppressor for such a system, of the type including an adaptive digital filter designed to provide an estimate of σ_(k) (the effective echo) and whose adaptation algorithm of vector C of coefficients has the form:

    C.sub.k+1 =C.sub.k +μa.sub.k *.f(e.sub.k)

wherein μ and f are a determined incrementation step and a predetermined function;

2. Description of the Prior Art

Before presenting the state of the prior art and the contribution of the invention, it may be useful to recall some information related to data bidirectional transmission over a same medium and the relevant problems.

FIG. 1 shows the schematic diagram of a simultaneous bidirectional transmission system between two remote terminals A and B, over a same transmission medium 10 that may be for example a two-wire telephone line. The information to be transmitted consists of a sequence of symbols, generally quantified, that may represent data signals as well as speech signals, when useful signals a and d coming from terminals A and B are transmitted within the same bandwidth, signal y received in receiver 12 of terminal A includes the useful signal d (remote data) generated by transmitter 11 of remote terminal B, lost however in additive noise:

    y:d+n+σ'                                             (1)

The noise is often of a higher level than useful signal d, it includes additive line noise n and the echo σ' of signal a (local data) sent by terminal A, and this in spite of the presence of differential transformers 15 at both ends of the transmission media 10. This phenomenon is schematically illustrated in FIG. 1 where transmission from B to A is shown in solid lines, whereas transmission from A to B is shown in dashed lines. The preponderant part of this noise is generally echo σ', which derives from local data through the unknown "echo filter" C_(o) :

    σ'.sub.k =C.sub.o.a.sub.k.

It is necessary to cancel, or at least attenuate the action of the echo which would prevent the recovery of signal d in receiver 12 of terminal A. Many echo suppression techniques have been proposed. The most common solution has been to insert at each station an adaptive digital filter 13, so-called "echo canceller", with a transfer function represented by a vector of coefficients C_(k), which from a sequence of successive symbols a_(k) (k indicating the symbol sequential number) transmitted by source 11 in station A, sequence obviously available in station A, provides a linear estimation

    σ.sub.k =C.sub.k ·a.sub.k                   ( 2).

The estimation is called recovered echo or estimation of true echo σ'. This recovered echo is sent to substractor 14 that receives also the signal y sent to station A through line 10. The difference e_(k) between the two signals

    e.sub.k =y.sub.k -σ.sub.k                            ( 3)

is applied to receiver 12.

The power of echo σ_(k) ', is much variable, as well as the power of useful signal d_(k).

The data used is, as a rule, complex (case of phase modulation and modulation with two carriers in quadrature. In this case the adaptation algorithm used typically has the following form:

    C.sub.k+1 =C.sub.k +μ.a.sub.k *.f(e.sub.k)              (4)

wherein μ and f are respectively an incrementation step and a predetermined function.

This formula assumes, as a representation of residual echo er_(k), the "clean" signal

    e.sub.k =tr.sub.k +d.sub.k +n.sub.k

wherein er_(k) =(C_(o) -C_(k)).a_(k).

Most of the time, when the echo does not exhibit a significant phase shift, the function f adopted is the gradient of the quadratic error, so that the algorithm (4) becomes:

    C.sub.k+1 =C.sub.k +μ(y.sub.k -σ.sub.k)a.sub.k *  (5).

The shortcoming of the above solution is to require a complex filter, with a great number of bits for each coefficient--namely about twenty--and heavy computation.

Therefore it has been envisioned to use the sign of e_(k) =y_(k) -σ_(k) as a function, instead of the gradient itself, in order to simplify the implantation. But it is found that this algorithm cannot ensure a full convergence of the adaptation.

Actually this algorithm is written as:

    C.sub.k+1 =C.sub.k +μ.a.sub.k *.sign e.sub.k            ( 6)

wherein

    sign.(e.sub.k)=1/√2[signe.sub.k.sup.r +i signe.sub.k.sup.i ](7)

e_(k) ^(r) and e_(k) ^(i) being respectively the real and imaginary components of e_(k).

To obtain convergence, e_(k) must have the same sign as the residual echo er_(k). However, as soon as the adaptation is sufficient to have the level of er_(k) lower than the remote data level d_(k), the sign identity condition is not satisfied anymore and the echo residue convergence is interrupted (T.A.C.M; CLAASEN, W. F. G. MECKLENBRAUKER, "Comparison of the convergence of two algorithms for adaptive FIR digital filters", TEEE Trans. ASSP, Vol. 29, No. 3, June 1981, pp. 670-678).

This difficulty is shown in FIG. 2 where is illustrated the case with opposite signs of the real components of residual echo er_(k) and of the difference e_(k) between the recovered echo σ_(k) and the received signal d_(k).

Other solutions have been used to solve this problem. For example it has been proposed to insert a forced noise signal b_(k), with a kown level close to the level of remote data d_(k), in order to compensate for the presence of the data (FIG. 1). However, this adjunction significantly increases the system complexity (N. HOLTE, S. STUEFLOTTEN, "A new digital echo canceler for two-wire subscriber lines"; IEEE Trans. on Communications, Vol. COM-29, No. 11, Nov. 1981, pp. 1573-1581).

SUMMARY OF THE INVENTION

The object of the present invention is to provide an echo suppressor that has better performances than existing algorithms and significantly better than the conventional gradient algorithm. To accomplish the objective, the invention uses a completely different approach and starts from the observation that, when the remote data d_(k) are along one of the axes (along the imaginary axis, in the case of FIG. 3), the component of the clean signal e_(k) in quadrature with data d_(k) (along the real axis in FIG. 3) is equal to the corresponding component of residual echo er_(k) : by using only this significant quadrature component of residual echo er_(k), the convergence will be improved. And, accordingly, the invention proposes--when the data are not along the axes--to accomplish the adaptation of the algorithm by means of the only component of the clean signal that is in quadrature with the remote data d_(k) : it can be said that the projection principle is used.

The invention proposes accordingly an echo suppressor in conformity with claim 1.

The invention will be better understood upon reading the forthcoming description of a particular embodiment, given as a non limitating example. The description refers to the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1, already mentioned, is a schematic diagram of a data transmission system according to the prior state of the art, with terminals equipped with an echo suppressor.

FIGS. 2 and 3 are interpretation geometrical diagrams, showing the residual echo er for a complex data (FIG. 2) and for a purely imaginary data (FIG. 3).

FIG. 4 is a diagram showing the noise reduction in the case of the sign algorithm (solid line SI curve) and in the case of the algorithm according to the invention (dashed line curve) versus the incrementation step μ.

FIG. 5 is a diagram showing the representative graphs of the difference between the binary length of the coefficients with algorithm EE, SI, SI' and SURAX and with the SIGNIF algorithm for S/N=20 dB, versus -R/S.

FIG. 6 shows the general implementation of the algorithm operating with the adaptation loop of phase θ_(k), the loop allowing for the determination of ξ_(k) and the adaptation of the echo suppressor coefficients.

FIG. 7 is a graph showing how ξ_(k) +θ_(k) is selected.

FIG. 8 is a graph showing the direction in which the phase compensation loop must rotate e_(k) to bring it back on one of the axes.

FIG. 9 illustrates the phase θ_(k) adaptation algorithm in the general case.

FIGS. 10A and 10B are two equivalent schematics reflecting the digital phase ξ_(k) determination mode in the QAM 16 points diagram case.

FIG. 11 shows the echo suppressor coefficients adaptation according to one of the operation modes of the invention.

FIG. 12, similar to a portion of FIG. 1, shows the principle of the echo suppressor phase compensation loop, for a graph with data on the diaganols.

FIGS. 13A and 13B are respectively four and sixteen points graphs with points on the diagonals, that is for which ξ_(k) is equal to π/4.

FIG. 14 is a detailed diagram of the phase adaptation loop according to a particular embodiment illustrated in FIG. 12.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

In order that the invention may be compared with the previous state of the art, the structure and operation of the known echo suppressor using the gradient algorithm (5) will first be described.

Referring to FIG. 1, the signal coming from transmitter 11 in station A is sampled by component 20 shown as a switch closed at intervals Δ. Echo suppressor 13 includes a filter using N successive samples for providing an evaluation σ_(k) of the echo from K+L+1 delay elements: ##EQU1##

The N samples are combined to generate a vector a_(k) that represents the signal applied to the digital filter at time kΔ, just after supply of a_(K) by transmitter 11. Estimated echo σ_(k) is assessed by multiplying samples k-L through k+K by coefficients h_(-k) through h_(L), and performing the sum of the products. Vector C_(k) of N coefficients is generated by the adaptation algorithm (5). In the presentation of the invention, the case with the data on one axis will be presented first, then the case where the data are located anywhere.

CASE OF DATA ON ONE AXIS

The following notation is used: ##EQU2## A=power of near data a_(k) B=Power of remote data d_(k)

R=power of residual echo er_(k).

In order to simplify, the power of in-line noise n_(k) is assumed to be negligible, a hypothesis that is often fulfilled and which in any event does not change the results.

On the other hand, it will be assumed that sequences {a_(k) } and {d_(k) } are representing centered random variables, taking discrete values with equal probabilities.

With above notations, it can be written that the clean signal e_(r) at time k is:

    e.sub.k =(er.sub.k.sup.r d.sub.k.sup.r)+i(er.sub.k.sup.k.sbsp.i +d.sub.k.sup.i).

If the remote data are on the axis (FIG. 3), that is real or imaginary, one of their components is zero. If, for example, d_(k) is imaginary, that is d_(k) ^(r) =0, the real part of e_(k) is equal to the real part of echo residue er_(k), except for the line noise, and the increment of the gradient algorithm (5) becomes, from formula (8): ##EQU3## The formula is similar when d_(k) is real.

In the forthcoming comparison, the gradient algorithm (9) will be called ONAX when the remote data is on one of the axes.

This algorithm ONAX can be transformed according to the projection principle, into a simplified algorithm SIGNID by using only the significant data contained in (e_(k)): it is sufficient to delete in formulas (8) and (9) the portion of the increment affected by d_(k), that shows as a noise. In the case where d_(k) ^(r) =0, formula (9 bis) is obtained where the remote data do not appear anymore. ##EQU4## In complex form, those formulas expressing algorithm SIGNID can be written: ##EQU5## One of the objects is to reduce the complexity of the algorithms; this simplification can be accomplished by considering only the sign of the significant applicable component. Algorithms ONAX and SIGNID respectively generate algorithms that will be respectively called SURAX and SIGNIF it will be shown how those two latter algorithms by using the "sign" function eliminate the shortcomings of the forementioned sign SI algorithms--given by formula (6)--and SI'--applicable to the addition of forced noise.

CASE OF DATA NOT ON AXES

If the remote data d_(k) is not on an axis, it is, according to the invention, brought back on the axis by a rotation φ_(k) (in order to remain in a fixed reference frame). Thus:

    d.sub.k =d.sub.k exp (iφ.sub.k)

wherein d_(k) has one null component (real or imaginary).

This rotation transforms the gradient algorithm increment into: ##EQU6## wherein e_(k) ^(r) and n_(k) being respectively the result by rotation φ_(k) of: er_(k) and n_(k).

If, for example, data d_(k) has been brought back on imaginary axis oy by rotation, whereby d_(k) ^(r) =0, the following formula is obtained:

    e.sub.k =(er.sub.k.sup.r +ier.sub.k.sup.i)+id.sub.k.sup.i +(n.sub.k.sup.r +in.sub.k.sup.i).

The projection principle application yields the following increment:

    Δ'(C.sub.k exp iφ)=a.sub.k.sup.r (er.sub.k.sup.r +n.sub.k.sup.r)-ia.sub.k.sup.i (er.sub.k.sup.r +n.sub.k.sup.r)

with data d_(k) rotated to Ox axis, that is such that d_(k) ^(i) =U, the result would be: ##EQU7## The resulting algorithm is now written ##EQU8## The manner that the data can be brought on one axis will be described later with reference to FIG. 7. The performances of the various algorithms and in particular the power of residual echo er may be computed and compared. This comparison was performed between residues R_(E) ; R_(SI) ; R_(SI') ; R_(ON) ; R_(SD) ; R_(GEN) ; R_(SU) ; R_(SIG) for the algorithms: E=gradient, according to formula (5)

SI=sign, according to formula (6)

SI'=sign with insertion of forced noise

ONAX=gradient, with data along one axis according to formula (9 bis)

SIGNID=ONAX considering the significant component only

GEN=data previously brought back along one axis, then using the significant component

SURAX=sign of SI, in the particular case where the data are along one axis

SIGNIF=SURAX, considering the significant component only.

In the representative case of a Gaussian residue, and without line noise, the residues are given in the following table:

                  TABLE I                                                          ______________________________________                                         Algorithm   Gaussian residue                                                   ______________________________________                                         (E) and (ONAX)                                                                              ##STR1##             (10)                                         (SI)                                                                                        ##STR2##             (11)                                         (SI')                                                                                       ##STR3##             (12)                                         (SURAX)                                                                                     ##STR4##             (13)                                         (SIGNIF)                                                                                    ##STR5##             (14)                                         ______________________________________                                    

It may be observed that in addition algorithms SIGNID and GEN have a null limit residue. Actually, for those two algorithms, the residue value, with line noise is:

    R SIGNID=RGEN=μNAB/(2-μNa).

The remote data power has no effect. This result is a great advantage. It is maintained for all algorithms using the projection principle: the adaptation is accomplished by using the "clean" signal component that is orthogonal to the remote data, and only the remote data.

In both following comparisons, only simplified forms of SURAX and SIGNIF have been taken into account in order to simplify, not ONAX, SIGNID and GEN.

Table I shows that algorithms SURAX and SIGNIF have performances superior to the sign SI conventional algorithm and that R_(SIG) does not depend on power 5 of remote data; At last, regardless of R and μ, R_(SIG) is smaller than R_(SU) for S/R>2, which is applicable to acceptable performances, the gain of SIGNIF in relation to SURAX is of 3 to 6 dB.

The advantage of SIGNIF versus 5 is much greater. With a Gaussian residue, the ration R_(S) /R_(SIG) is exp (S/R_(SI)) with no noise. The ratio is close to 7 to the value previously considered, S/R=2, and rapidly rises with S/R, that is when echo suppression is improving.

It can be seen from equations (10) and (13) that parameter μ used in SIGNIF is not as small as necessary in algorithm SI. Actually μ is multiplied by the factor exp (5/2R) by using SIGNIF, whereas the same echo residue is obtained.

As indicated above, one of the advantages of SIGNIF is not to depend on remote data power S, so that there is no saturation of R at level S. This advantage is even more obvious if, not the Gaussian residus are considered, but the binary echo residues. For SI, residue R_(SI) decreases as μ² when R>S, but this decrement stops taking place for R=S, as shown in FIG. 4. Conversely for SIGNIF, the decrement as a function of μ² continues and a forced noise becomes unnecessary. If it is recalled that for algorithm (E) the decrement is as μ, it is found a great advantage of SIGNIF versus E, a higher value of μ, accelerating the convergence.

Furthermore, a comparison of formulas (10) and (14) shows that, for S>μNAπ/4, which is a hypothesis that is practically always verified, we have R_(E) ≧R_(SIG) : in other words, SIGNIF algorithm has better performances than E when μ is small, that is has the value that must be selected at the end of convergence, when R/S is small.

Moreover, in evaluating the complexity of computation by E and SIGNIF algorithms in finite precision, as we are going to do it herein, it is noted that the drawback of having μ_(SIG) <μ_(E) for higher values of -R/S is only apparent since the word lengths required for the echo suppressor coefficients are smaller for the SIGNIF algorithm.

The minimum number of bits b necessary to represent a component of the echo suppressor filter 13, depends on the searched residual echo R and the algorithm used. The computation indicates that the smallest b providing convergence fulfills the condition: ##EQU9##

Starting from the hypothesis that er_(k) is a Gaussian variable, the smallest bit weight expression can be derived from (15) by replacing μ by the value that it must have to get the same echo residue er. The result is the following table when B is supposed to be null:

                                      TABLE II                                     __________________________________________________________________________                            Least significant bit                                                          to guarantee the                                        Algorithm                                                                               μ at predetermined er                                                                     convergence :b                                          __________________________________________________________________________     (E)                                                                                      ##STR6##                                                                                     ##STR7##                                               (SI)                                                                                     ##STR8##                                                                                     ##STR9##                                               (SI')                                                                                    ##STR10##                                                                                    ##STR11##                                              (SURAX)                                                                                  ##STR12##                                                                                    ##STR13##                                              (SIGNIF)                                                                                 ##STR14##                                                                                    ##STR15##                                              __________________________________________________________________________

The comparison between SIGNIF and SURAX (for which the least significant bits are called b_(SIG) and b_(SU)) in Table II above indicates that: ##EQU10##

This quantity is between -0.5 bit and +0.5 bit, but for a good echo suppression, implying R<<S, the algorithm SIGNIF contributes to a gain of 0.5 bit over SURAX. Computation taking the noise in consideration shows that it would be equivalent in the case of forced noise B=S.

Comparison between the results in Table II for algorithms SI and SIGNIF shows that: ##EQU11##

Thus b_(SIG) is less than b_(SI) in all useful cases, and the difference is large if the system operates satisfactorily, that is if R/S is small. This point is very important since one of the drawbacks of (SI) versus (E) is the great accuracy required for the binary representation of the coefficients. It can be seen that (SIGNIF) eliminates the drawbacks of (SI).

Last, if binary lengths of E and SIGNIF are compared, we find: ##EQU12## meaning that the SIGNIF binary length is greater than E's for all values of R/S; actually inequality (17) is not satisfied since the noise in E is the line noise, which is low. It may be concluded that b_(E) >b_(SIG) as soon as: ##EQU13##

In actual cases, the desired residue level is always less than the level determined in (18) so that algorithm SIGNIF requires less bits than algorithm E proper. A more elaborate computation, taking the noise into account, indicates that the difference ##EQU14## for a medium quality of echo suppression, that is when both algorithms yield:

    R≃B.

For a very high signal-to-noise ratio, that is R<<B, the difference is: ##EQU15##

From this point, it is possible to determine the saving in number of bits of SIGNIF as compared to E for predetermined S/N value: ##EQU16##

FIG. 5 shows the binary word length saving accomplished with algorithm SIGNIF versus algorithms SI, SURAX, SI' and E. The saving is shown in relation to R/S (quality of echo suppression) for a line signal/noise ratio S/N of 20 dB.

Considering that, as for the conventional sign algorithm, SIGNIF uses sign (e_(k)) and not e_(k) during coefficient adaptation process, this additional average reduction of 2 bits versus algorithm E, puts algorithm SIGNIF in better place among the possible echo adaptive suppression algorithms.

Computation steps (filtering by convolution C_(k) ^(T).a_(k) and adaptation) are also simpler for SIGNIF than for E. The computation complexity can be assessed according to the number of required single multiplications and additions: those figures depend on the algorithm as well as on the length of the used binary words.

The evaluation shows that for each component of two multiplications and a large number of additions are saved by substituting SIGNIF to SI.

A great number of multiplications and additions are saved by substituting SIGNIF for E.

The only obligation with SIGNIF is to detect a threshold on each step in order to determine which of data d_(k) ^(r) and d_(k) ^(i) is zero. However this operation must be performed anyway by the receiver with a decision device if it is not done in the echo suppressor. Therefore it is not a complication.

For a representative case with a N=16 taps filter, a power S=10⁻¹ of signal, ratio R/S=-18.5 dB, the computation savings, by using SIGNIF instead of E, are 36%. Moreover, this percentage hardly decreases when the signal magnitude √S decreases. Actually for small values of S, the input analog/digital converter has to be more accurate. For example, if the input signal decreases down to S=-42 dBm, the converter requires 12 bits, and the saving is 35%.

Refering to FIGS. 6, 7 (where indexes are not marked for the sake of clarity) and 8, the way of performing the rotation to be carried out and an embodiment of an echo suppressor that includes means capable of using the projection principle implementing a phase follower algorithm that simultaneously works with GEN. The elements of FIG. 6 corresponding to those in FIG. 1 are designated with the same reference numbers.

Before describing the echo suppressor, its function and operating mode have to be determined. Phase correction φ_(k) to be performed may be broken down in two parts

    φ.sub.k =θ.sub.k +ξ.sub.k                     (20 bis).

In this formula, θ_(k) is an analog parameter, corresponding to the phase shift (jitter, drift) contributed by the transmission line; angle θ_(k) varies slowly in relation to ξ_(k), as will be observed hereunder. If d_(k) is the transmitted or remote data, the phase shift caused by the line results for example into received data d_(k) ' contained in received signal y_(k)) being of the form

    d'.sub.k =d.sub.k exp (-iθ.sub.k ').

It is necessary to estimate θ_(k) from θ_(k) '. It is the function of the phase adaptation algorithm that will thus perform synchronization of the carrier.

In this same (20 bis) formula, ξ_(k) is a random discrete value, characteristic of transmitted data d_(k) ; it can be defined as:

    ξ.sub.k =(Od.sub.k, axis closest to Od.sub.k).

Yielding |ξ_(k) |≧π/4; when the two components of d have equal modulus, it is possible to arbitrarily select ξ_(k) =π/4 rather than -π/4: It will be so for points on the graph diagonals (all points for the 4 point graph of FIG. 13A, eight out of sixteen points in FIG. 13B).

The system will also have to evaluate ξ_(k).

To do so, θ_(k) has to be evaluted (assuming that ξ_(k) is found, that is the steady operation mode is established). The "clean" signal e_(k) has been rotated by phase angle φ_(k) and has become e_(k) :

    e.sub.k =e.sub.k exp (iφ.sub.k).

This signal e_(k) provides modified data d_(k) :

    d.sub.k =d.sub.k exp [i(φ.sub.k -θ.sub.k ')]=d'.sub.k exp (iφ.sub.k)

Data d_(k) will be located in the neighbourhood of one axis if angle φ_(k) has been judiciously selected. If the value of φ_(k) is not right (that is if θ is not the correct estimation of θ'), even if the echo suppressor operates satisfactorily, d_(k) will not be on an axis.

Signal e_(k) is a representation of phase shift residue (φ_(k) -ξ_(k) -θ_(k) '), by angle:

    φ.sub.k =(Oe.sub.k, axis closest to Oe.sub.k).

It is therefore possible to proceed with θ_(k) phase shifting by installing an adaptive algorithm operating as a first order digital phase-lock loop, that has to automatically track the proper value of θ_(k) by means of the error signal ψ_(k) (shown in FIG. 7) through the following recurrence formula:

    θ.sub.k+1 =θ.sub.k +γf.sub.1 (ψ.sub.k) (21)

wherein γ is a positive adaptation parameter, and f₁ a suitably selected function.

The phase adaptation algorithm (21) may be written more accurately by considering the four zones A1-A4 bounded by the two bisectors. (FIG. 8). If, for example e_(k) is in zone A4, the axis closest to axis Oe_(k) is Ox, so that the data rotated d_(k) has to be along axis Ox;

Angle ψ is such that

    tan ψ.sub.k =-e.sub.k.sup.i /e.sub.k.sup.r for e.sub.k εA4 (22)

and modified data d_(k) must be brought by rotation on Ox. With this rotation, the modulus of d_(k) (or e_(k)) remains constant and the optimum value is obtained when the imaginary component d_(k) ^(i) (or e_(k) ^(i)) is made maximum. Therefore, when e_(k) is in A4 zone, variable θ_(k) can be set by the gradient algorithm. With notations of FIGS. 7 and 8, the algorithm can be written in the following general form: ##EQU17##

For small values of error angle ψ_(k), the first formula (23) may be written, using the value given by (22):

    φ.sub.k+1 =φ.sub.k +γψ.sub.k |e.sub.k.sup.i |, e.sub.k εA1UA3                        (24)

and since e_(k) and d_(k) are hardly different, by replacing (d_(k)) by a mean value √S, algorithm (24) can be approximated as:

    φ.sub.k+1 =φ.sub.k +γ√Sψ.sub.k    (25).

Under the latter form, it can be observed that it is advantageous to give γ a value inversely proportional to √S. When S can be evaluated, the parameter γ may be initially set, otherwise, it may be given a larger value and an adaptation algorithm will be provided which gradually decreases it down to the optimum value.

Turning back to algorithm (23), it can be seen that it outlines how the imaginary component e_(k) ^(i) tends to be maximized (or minimized) when e_(k) is located in zone A1 (or A3): for A2 and A4 the mechanism is similar.

It is interesting to note that, even without line generated interferences, the receiver has to synchronize the carriers, that is the demodulator phase with the useful signal phase: here, this task is automatically performed by algorithm θ_(k), that is substituted to an element of the receiver.

In other words, the function required from the echo suppressor, that consists in modifying data d_(k) ' in order to rotated them in the direction of axes, does not involve additional burden, as compared to usual echo suppression algorithms.

Once phase θ_(k) adaptation performed, the system is stabilized, and signal ε_(k) is obtained (FIGS. 6 and 7)

    ε.sub.k =e.sub.k.exp (iθ.sub.k)

    or

    ε.sub.k =er.sub.k.exp (iθ.sub.k)+S.sub.k

    with

    S.sub.k =d.sub.k exp [i(θ.sub.k -θ.sub.k ')].

The echo residue being small and shift θ_(k) ' well compensated by θ_(k), signal ε_(k) enables to detect transmitted data d_(k), that is to perform the evaluation of angle ξ_(k).

FIG. 6 (using the same notations as FIG. 1) shows in a simplified presentation the general configuration of an adaptation echo suppressor of phase O operating according to this principle. It includes, in addition to the components shown in FIG. 1, a phase adaptation loop 54, and a loop 56 for generating ξ_(k).

Phase θ_(k) adaptation loop 54 can have, in all cases, the general configuration illustrated in FIG. 9, with the same configuration as loop 22 in FIG. 14, which need therefore not to be described here. Loop 56 may have:

the configuration shown in FIGS. 10A or 10B in the case of 16 points graphs (FIG . 13B),

the configuration shown in FIG. 11 in the case of SIGNIF algorithm application, by formula (26) that will be mentioned later.

FIG. 10A illustrates the components required to determine ξ by application of formula ##EQU18## where a=sign/ε^(r) -2/.sign/ε¹ -2/ and b and c are as defined later applicable to the case taking into account the 16 points of FIG. 13B graph (used for transmission at 9600 bauds) with: ##EQU19##

The group of so determined cases is in agreement with all points of the graph. For example, for points on the diagonal, corresponding to:

    [|d.sup.1 |>2et|d.sup.r |>2]

    or

    [|d.sup.i |<2et|d.sup.r |<2]

yielding:

    ξ.sub.k =π/4.

Conversely for points B1, B2, B3, B4:

    [|d.sup.i |>2et|d.sup.r |<2]

and in this case:

    ξ.sub.k =sig(d.sup.1).sig(d.sup.r)Arct1/3.

A similar result is found for the four remaining points.

The circuit in FIG. 10A provides adaptation for all points, hence rapid convergence. It includes two channels, one for ε^(r), the other for ε^(i) and including each a circuit 62a or 62b adding -2 to the output of 60a and 60b and a circuit 64a or 64b determining the sign. The sign product is performed in 66, in order to generate a and 1-a. In parallel, c is generated by threshold detector 70 with ε^(r) and ε^(i) as inputs.

In the case of the eight points on the diagonals, computation is performed in a single amplifier 72 with the following gain: ##EQU20##

For the other eight points, computation requires one amplifier 74 of gain 1/√10, that is sine (Arc ta 1/3), as well as an absolute value detector 78 and an amplifier 76 of gain 3/√10, that is cosine (Arc ta 1/3). Adders are used to generate sine ξ and cosine ξ which are inputs to the complex multiplier 80 that outputs e=ε.exp (iξ).

FIG. 10B shows a more general block diagram: blocks 82 and 84 are respectively a circuit generating a and b, and a circuit performing the product of signs of ε^(r) and ε^(i), that is c.

Once the data is phase-shifted in the direction of the axes, in e_(k), algorithm GEN or any other algorithm using the same projection principle can be carried out as follows:

The component of e_(k) orthogonal to the closest axis is significant of the residual echo.

Only this component is used if, for example, algorithm SIGNIF is installed: ##EQU21##

The result is vector C_(k) that tracks the echo path C_(o) by implementing algorithm: ##EQU22##

FIG. 11 is a block diagram for algorithm (26) that does not have to be described in length, since its components are either conventional or described elsewhere in the present application.

Now, will be described, with reference to FIG. 12, the particular case when ξ_(k) is constant and equal to π/4. That is for example, the case of a four-point graph (FIG. 13A) and a more general graph (such as in FIG. 13B if it is accepted to perform the echo suppressor coefficient adaptation only with the points located on the diagonals). The advantage of this solution is to be simple, but it slows down the convergence.

In this case, it is not necessary to split φ_(k) into two parts; it is the adaptation algorithm (21) that enables to directly evalutate this angle φ_(k).

The algorithm tracks angle θ_(k) '+π/4; it performs two tasks simultaneously: tracking of the channel phase shift and transfer of data onto the axes. The system may be simplified according to the single-wire schematic of FIG. 12.

In this system, corresponding to ξ=+μ/4, echo suppression is accomplished after phase setting. The observed signal y_(k) is transformed by φ_(k) rotation into a signal:

    y.sub.k =y.sub.k exp(iφ.sub.k).

The "clean" rotated signal, obtained after echo suppression is computed in another way by the formula:

    e.sub.k =y.sub.k -C.sub.k Ta.sub.k

wherein estimated echo vector C_(k) tracks the real rotated echo vector C_(o) expi (θ_(k) '+π/4) and not the echo C_(o) path itself. The remote data transmission channel phase shift, increased of π/4 is taken into account in the echo suppressor.

The phase correction adaptive algorithm is used by a loop including element 22 that determines φ_(k) from the two components of the received complex signal e_(k) and a complex multiplier 24. The multiplier also receives:

the signal y_(k) coming from the line (that may include noise n_(k)) and

signal exp (iφ_(k)) supplied by element 22.

Multiplier 24 output signal y_(k) is next processed in the echo suppressor, of general conventional configuration, but for installation of algorithm SIGNIF of SIGNID.

Element 22 determining φ_(k) may for example be configured as in FIG. 14, where the elements similar to those of FIG. 12 have the same reference number.

Element 22 includes two channels respectively processing the real component e_(k) ^(r) and the imaginary component e_(k) ^(i) of e_(k). Each channel includes an element 30a or 30b providing the absolute value to a comparator and switching circuit 32. Circuit 32 determines which of input values is the largest and accordingly enables either adaptation channel. Each adaptation channel includes a threshold circuit 34a or 34b (followed by inverter 36 in channel corresponding to e_(k) ^(r)) and a multiplier 38a or 38b. Those multipliers are connected in order to respectively output ##EQU23##

The result retained by virtue of validation in switching circuit 32 is multiplied by parameter γ in a programmable multiplier 40. The product, for example e_(k) ^(r). (sign of e_(k) ^(i)) is added, in adder 42, to the previous value of φ_(k), stored in memory 44. A conventional circuit 46 is used to generate exp (i φ_(k)) from successive values of φ_(k) in order to sent it to multiplier 22.

The system adaptation processus is similar to conventional echo suppressor's, with a possible learning phase. It is also possible to initially implement algorithm SI, with a fastest convergence, when the data have not reached yet the axes, and to complete the echo suppression by means of SIGNIF.

To summarize, the projection principle enables to reduce considerable the echo residue, in a simple way. The effectiveness of the principle is based on the particular fact that the complex data signal has one of its components--real or imaginary--null so that on the corresponding axis, the signal does not interfere with the echo suppressor adaptation. And that the elements necessary to fulfill this condition do not increase the complexity of the system, since they take the place of required receiving components.

Generally speaking, the projection principle garantees the convergence in the case where the error sign is considered.

For a 16 points graph, the acquisition of all points garantees a fast convergence, but is not a requirement.

With less complexity, SIGNIF always provides satisfactory results. 

We claim:
 1. In a OAM or phase modulation data transmission system for transmission of local data a_(k) from a local station to a remote station over a transmission medium exhibiting an echo and simultaneous transmission of far end data d_(k) over said medium from said remote station, whereby said local station receives a far end data signal y_(k) including said far end data d_(k) and said echo,an adaptative echo suppressor located at said local station and comprising: an adaptive digital filter connected to receive the local data a_(k) and a clean signal e_(k) derived from the far end data signal and substantially free of said echo and arranged to deliver on an output an estimation σ_(k) of the actual echo of the local data by multiplying a vector of coefficients C_(k) with the local data a_(k), said vector having an adaptation algorithm:

    C.sub.k+1 =C.sub.k +μa.sub.k *.f(e.sub.k)

wherein μ is a predetermined incrementation step, a_(k) * is a conjugated value of the local data a_(k) and f is a predetermined function of e_(k), and subtractor means having an input connected to receive said far end data signal y_(k) from said transmission medium and a subtractive input connected to receive said estimation σ_(k) from said digital filter, wherein said digital filter is provided with means for rendering it only responsive to a vectorial component of e_(k) which is orthogonal to the far end data.
 2. Echo suppressor according to claim 1, wherein the function f uses the sign of said vectorial component of e_(k) which is orthogonal to the far end data signal.
 3. In a QAM or phase modulation data transmission system for transmission of local data from a local station to a remote station over a transmission medium exhibiting an echo and simultaneous transmission of far end data signal y_(k) including said far end data d_(k) and said echo, said far end data being distributed between points having different phases among a finite plurality of predetermined phases specific to the modulation,an adaptive echo suppressor located at said local station and comprising: an adaptive digital filter connected to receive the local data a_(k) and a phase shifted clean signal e_(k) derived from the far end data signal and substantially free of said echo and arranged to deliver on an output an estimation σ_(k) of the actual echo of the local data by multiplying a vector of coefficients C_(k) with the local data a_(k), said vector having an adaptation algorithm:

    C.sub.k+1 =C.sub.k +μa.sub.k *.f(e.sub.k)

wherein μ is a predetermined incrementation step, a_(k) * is a conjugated value of the local data a_(k) and f is a predetermined function of e_(k), subtractor means having an input connected to receive said far end data signal y_(k) from said transmisson medium and a subtractive input connected to receive said estimation σ_(k) from said digital filter, and adaptive phase correction means connected in series between the transmission medium and said subtractor and arranged for phase shifting all complex far end data d_(k) by the same angle φ_(k) which is selected so that all those of the far end data d_(k) which have at least one of said predetermined phases are rendered either (i) purely real, or (ii) purely imaginary and devoid of real component, before those data are applied to the subtractor means, said same angle φ_(k) being the sum of a predetermined angle λ related to said one of the predetermined phases and not greater than π/4 and of a slowly variable phase shift θ introduced by the transmission medium.
 4. Echo suppressor according to claim 3, characterized in that, for data brought back along axes, the function f is the sign of e_(k).
 5. Echo suppressor according to claim 3, wherein the phase correction means includes a first order digital phaselock loop, placed between the output of said subtractor means and a multiplier receiving data coming from said transmission medium.
 6. In a OAM or phase modulation data transmission system for transmission of local data a_(k) from a local station to a remote station over a transmission medium exhibiting an echo and simultaneous transmission of far end data d_(k) over said medium from said remote station, whereby said local station receives a far end data signal y_(k) including said far end data d_(k) and said echo,an adaptive echo suppressor located at said local station and comprising: an adaptive digital filter connected to receive the local data a_(k) and a phase-shifted clean signal e_(k) derived from the far end data signal and substantially free of said echo and arranged to deliver on an output an estimation σ_(k) of the actual echo of the local data by multiplying a vector of coefficients C_(k) with the local data a_(k), said vector having an adaptation algorithm:

    C.sub.k+1 =C.sub.k +μa.sub.k *.f(e.sub.k)

wherein μ is a predetermined incrementation step, a_(k) * is a conjugated value of the local data a_(k) and f is a predetermined function of e_(k), subtractor mans having an input connected to receive said far end data signal y_(k) from said transmission medium and a subtractive input connected to receive said estimation σ_(k) from said digital filter, and adaptive phase correction means connected in series between the transmission medium and said subtractor and arranged for phase shifting all complex far end data d_(k) by the same angle φ_(k) which is selected so that at least some of the far end data d_(k) are rendered either (i) purely real, or (ii) purely imaginary and entirely devoid of a real component, before the data are applied to the subtractor means, said same angle φ_(k) being the sum of a predetermined angle ξ characteristic of the nature of the far end data and not greater than π/4, and of a slowly variable phase shift θ introduced by the transmission medium, wherein the adaptive phase correction means includes a first order digital phase-lock loop, connected between the output of said subtractor and a multiplier receiving data coming from said transmission medium, said loop including further means for determining said same angle phase shift from the real and the imaginary components of the complex signal delivered at an output of said subtractor means, said further means operating according to the algorithm:

    φk+1=φk+γf.sub.1 (Ψ.sub.k)

wherein φ_(k) is said same angle of phase shift, γ is a positive adaptation parameter, f₁ is a predetermined function and Ψ_(k) is an angle, formed by (i) e_(k) and (ii) one of an imaginary axis and a real axis, selected to be the smaller angle necessary to render at least some of the far end data purely real or purely imaginary.
 7. Echo suppressor according to claim 6, characterized in that f₁ is proportional to Ψ_(k).
 8. Echo suppressor according to claim 7, characterized in that γ has a value inversely proportional to √S, S being the power of far end data.
 9. In a QAM or phase modulation data transmission system for transmission of local data a_(k) from a local station to a remote station over transmission medium exhibiting an echo and simultaneous transmission of far end data d_(k) over said medium from said remote station, whereby said local station receives a far end data signal y_(k) including said far end data d_(k) and said echo, said far end data being distributed between points having different phases among a finite plurality of predetermined phases specific to the modulation,an adaptive echo suppressor located at said local station and conprising: an adaptive digital filter connected to receive the local data a_(k) and a phase-shifted clean signal e_(k) derived from the far end data signal and substantially free of said echo and arranged to deliver an an output an estimation σ_(k) of the actual echo of the local data by multiplying a vector of coefficients C_(k) with the local data a_(k), said vector having an adaptation algorithm:

    C.sub.k+1 =C.sub.k +μa.sub.k *.f(e.sub.k)

wherein μ is a predetermined incrementation step, a_(k) * is a conjugated value of the local data a_(k) and f is a predetermined function of e_(k), subtractor means having an input connected to receive said far end data signal y_(k) from said transmission medium and a subtractive input connected to receive said estimation σ_(k) from said digital filter, and phase correction means having: a multiplier connected in series relation between the transmission medium and said subtractor, having a first input connected to receive the far end data signal from said transmission medium, a second input connected to receive a signal representing an angle of phase shift and an output connected to said subtractor means; and phase lock loop means having an input connected to receive the output of said subtractor and an output connected to deliver said signal representing said angle of phase shift to said multiplier, said phase lock loop means being so arranged that said angle of phase shift is such as to render all those far end data which have at least one phase of said plurality of predetermined phases either (i) purely real, or (ii) purely imaginary without a real component, before those data are applied to the subtractor means, said angle of phase shift being the sum of a predetermined angle ξ related to said one of the predetermined phases and not greater than π/4 and of a slowly variable phase shift θ introduced by the transmission medium. 